package com.zhouxujing.game;

import java.awt.Graphics;
import java.awt.Image;

//boss子弹类
public class BossBullet extends Bullet {
	public static Image bullet_img;//boss飞机子弹图片
	public static long time =0;//记录boss同一个子弹存在时间
	public static int random=1;//产生随机数
	static{
		bullet_img=GameUtil.getImage("images/bossbullet0.png");//boss飞机子弹图片路径
	}
	public BossBullet(){//boss子弹方法
		super();//此处很多属性是从其他类中继承过来，虽然看不到，但都存在，
		//例如width，height，x,y等属性PlaneBullet类中也有，setheight方法直接设置
		setHeight(bullet_img.getHeight(null));
		setWidth(bullet_img.getWidth(null));
	}
	public void drawSelf(Graphics g) {
		//System.out.println("time为记录boss同一个子弹存在时间，超过一定范畴变换子弹:"+time);
		if (time  %1000 ==0 && time>2000) {
			random = (int) Math.round(Math.random()*2.0);//产生0-2之间的随机数
			System.out.println("random值已改变");
			time++;
		}
		else {
			time++;
		}
		bullet_img = GameUtil.getImage("images/bossbullet"+random+".png");//改变子弹发射的图片
		if(isLive()){//此处用的父类的方法，返回子弹的状态
			g.drawImage(bullet_img, (int)getX(), (int)getY(), null);//绘制boss子弹
			move();	//boss子弹移动的速度
			//System.out.println("正在发射boss子弹");
			checkLocation();//判断子弹是否存在
		}
	}
	public void checkLocation() {
		//此处意思 当子弹的纵坐标小于即为负数是，则设置它不存在
		if(getY()>750) setLive(false);
	}
	
	public void move() {//要明白我方与敌方位置不同，子弹射向方向不同
		moveY(getY()+Constant.BULLET_STEP);
	}
}
